﻿using Platformer_Example.Controller.Map;
using Platformer_Example.Controller.Terrain;
using System;
using Transformable_Engine_v2.Engine.Graphics;
using Transformable_Engine_v2.Engine.Transformable_Math.Geometry;

namespace Platformer_Example.Content.Images.Environment
{
    public class SpritesheetCastle : SpriteSheetInstance
    {
        private static SpriteSheetInstance _instance;
        public static void LoadContent()
        {
            _instance = new SpritesheetCastle();
        }
        public new static Sprite GetSprite(Enum textureName)
        {
            return _instance.GetSprite(textureName);
        }
        public static SpriteSheetInstance GetInstance()
        {
            return _instance;
        }

        public override string SpriteSheetPath
        {
            get
            {
                return "Content/Images/Environment/Castle.png";
            }
        }

        public enum Ladder
        {
            FullLadder,
        }

        public enum Background
        {
            Main,
        }

        protected override void LoadSprites()
        {
            AddEnumList<BaseTerrain.TerrainSprite>(BaseTerrain.TerrainSprite.TopLeft, BaseTerrain.TerrainSprite.Unknown,
                                                   new TE_Rectangle(0, 0, 1, 1));
            AddEnumList<MapCellData.StairType>(MapCellData.StairType.Stair11, MapCellData.StairType.Stair11Desc, new TE_Rectangle(0, 1, 1, 2));

            AddEnumList<MapCellData.StairType>(MapCellData.StairType.Stair21, MapCellData.StairType.Stair21Desc, new TE_Rectangle(2, 1, 2, 2));
            AddEnumList<MapCellData.StairType>(MapCellData.StairType.Stair31, MapCellData.StairType.Stair31Desc, new TE_Rectangle(6, 1, 3, 2));

            AddSprite(Ladder.FullLadder, new TE_Rectangle(12, 1, 1, 1));
            AddSprite(Background.Main, new TE_Rectangle(0, 3, 2, 2));
        }


    }
}